Визуальное моделирование
Основные алгоритмы
Математические операторы
Рассмотрим новый тип источника – блок Линейный сигнал. Он генерирует сигнал, линейно зависящий от времени, вида .
В данном примере возьмем и , т.е. блок будет генерировать функцию .
✏️Задание 1
Создайте модель, содержащую блоки Линейный сигнал и Квадратный корень.
- Создайте новую модель. Добавьте на холст блок Линейный сигнал (вкладка Базовые, палитра Источники). В окне настроек блока задайте значение параметра Наклон равным
2.0. - Добавьте в модель блок Квадратный корень. Он находится во вкладке Базовые, на палитре Математика. Соедините выход блока Линейный сигнал со входом блока Квадратный корень. На выходе блока Квадратный корень должен получиться сигнал .
- Добавьте в модель блок Заглушка. Соедините выход блока Квадратный корень со входом блока Заглушка.
- Залогируйте выходной сигнал и подготовьте окно для вывода графика
Квадратный корень. - Запустите модель.
Решение
Модель:
График выходного сигнала:
В Engee с помощью блока Константа можно задавать постоянные источники, а с помощью блока Сложение – складывать или вычитать сигналы. В следующем упражнении построим сигнал .
✏️Задание 2
Модифицируйте модель из Задания 1.
- Добавьте в модель блок Константа (вкладка Базовые, палитра Источники). Расположите его ниже блоков Линейный сигнал и Квадратный корень. В окне настроек блока Константа задайте значение константы, равное
3.0. - Добавьте в модель блок Сложение. Он находится во вкладке Базовые, на палитре Математика. Соедините выходы блоков Квадратный корень и Константа с двумя входами блока Сложение. Параметр Порядок знаков блока Сложение по умолчанию имеет значение
++, т.е. оба входных сигнала поступают со знаком "плюс". Измените значение этого параметра на+-. Теперь сигнал с блока Квадратный корень будет поступать со знаком "плюс", а с блока Константа – со знаком "минус". Таким образом, из сигнала будет вычитаться постоянный сигнал, равный3. - Соедините выход блока Сложение со входом блока Заглушка.
- Залогируйте выходной сигнал модели и подготовьте окно графиков.
- Запустите модель.
Решение
График выходного сигнала:
Блок Коэффициент усиления используется для умножения сигнала на некоторое заданное число n (т.е. для усиления сигнала в раз).
✏️Задание 3
Модифицируйте модель из Задания 2.
- Умножьте на 2 выходной сигнал модели. Для этого между блоками Сложение и Заглушка разместите блок Коэффициент усиления (вкладка Базовые, палитра Математика). В окне настроек блока задайте значение параметра Коэффициент усиления равным
2. - Залогируйте выходной сигнал модели и подготовьте окно графиков.
- Запустите модель.
Решение
График выходного сигнала:
В Engee встроено большое число различных математических функций. Для вычисления других выражений вы можете использовать в модели другие типы источников и математических операций.
Основные логические операции
Блок Сравнение с нулем выполняет логическое сравнение входного сигнала с нулем. Тип сравнения определяется выбранным параметром блока.
✏️Задание 4
Создайте модель, содержащую блок Сравнение с нулем.
- Создайте новую модель. Добавьте в модель блок Генератор синусоиды.
- Добавьте в модель блок Сравнение с нулем (вкладка Базовые, палитра Логические и битовые). Соедините выход блока Генератор синусоиды со входом блока Сравнение с нулем. В окне настроек блока задайте значение параметра Оператор равным
>. - Добавьте в модель блок Заглушка. Соедините выход блока Сравнение с нулем со входом блока Заглушка.
- Залогируйте выходной сигнал модели и подготовьте окно графиков.
- Запустите модель.
На выходе блока Сравнение с нулем будет выдаваться 1, если входной сигнал больше нуля, и 0 в противном случае.
Решение
График выходного сигнала:
✏️Задание 5
Модифицируйте модель из Задания 4 следующим образом:
- В окне настроек блока Генератор синусоиды задайте значение параметра Угловая частота равным
2рад/с. - Удалите из модели блок Сравнение с нулем и замените его блоком Сравнение с константой (вкладка Базовые, палитра Логические и битовые). Этот блок выполняет сравнение входного сигнала с заданной константой. В окне настроек блока выберите значение параметра Оператор равным
>=, а значение параметра Значение константы – равным0.5. - Соедините выход блока Сравнение с константой со входом блока Заглушка.
- Залогируйте выходной сигнал модели и подготовьте окно графиков.
- Запустите модель.
На выходе блока Сравнение с константой будет выдаваться 1, если входной сигнал больше или равен 0.5, и 0 в противном случае.
Решение
График выходного сигнала:
✏️Задание 6
Создайте модель, содержащую блок Логический оператор, который позволяет реализовать произвольную логическую операцию.
- Создайте новую модель. Добавьте в нее соединенные между собой блоки Генератор синусоиды (с угловой частотой
1рад/с) и Сравнение с нулем. Значение параметра Оператор блока Сравнение с нулем выберите равным>(как вы это делали в Задании 4). - Параллельно этим блокам добавьте соединенные между собой блоки Генератор синусоиды (с угловой частотой
2рад/с) и Сравнение с константой. Значение параметра Оператор блока Сравнение с константой выберите равным>=, а значение параметра Значение константы – равным0.5(как вы это делали в Задании 5). - Добавьте в модель блок Логический оператор (вкладка Базовые, палитра Логические и битовые). Соедините выходы блоков Сравнение с нулем и Сравнение с константой со входами блока Логический оператор. Значение параметра Оператор выберите равным
AND(И). - Добавьте в модель блок Заглушка. Соедините выход блока Логический оператор со входом блока Заглушка.
- Залогируйте выходной сигнал модели и подготовьте окно графиков
- Запустите модель.
На выходе блока Логический оператор будет выдаваться 1, если оба входных сигнала будут принимать значение 1, и 0 в противном случае.
Решение
График выходного сигнала:
Условный оператор
Условный оператор может быть смоделирован с помощью блока Переключатель, который находится во вкладке Базовые, на палитре Маршрутизация. Первый и третий входы блока аналогичны выполнению команд «если» и «иначе» соответственно. Второй вход – это условие. Сигналы могут быть постоянными или изменяющимися во времени.
✏️Задание 7
Смоделируйте следующее условие: если значение входящей синусоиды больше нуля, то на выходе должно выдаваться значение 4. В противном случае должно выдаваться значение -2.
- Создайте новую моделью. Добавьте в модель блок Генератор синусоиды. В окне настроек блока задайте значение параметра Период дискретизации равным
0.01с. - Добавьте в модель блок Константа. Расположите его выше блока Генератор синусоиды. В окне настроек блока задайте значение константы равным
4. - Добавьте в модель второй блок Константа. Расположите его ниже блока Генератор синусоиды. В окне настроек блока задайте значение константы равным
-2. - Добавьте в модель блок Переключатель и расположите его справа от блока Генератор синусоиды.
- Соедините выход блока Константа со значением
4с верхним входным портом блока Переключатель, выход блока Генератор синусоиды – со средним входным портом блока Переключатель, выход блока Константа со значением-2– с нижним входным портом блока Переключатель. - В окне настроек блока Переключатель задайте значение параметра Критерии для прохождения первого входа равным
u2 > Threshold. Таким образом, если значение сигнала, поступающего со второго входного порта (с блока Генератор синусоиды), будет больше нуля, то на выход блока Переключатель будет поступать значение с первого входного порта (4). В противном случае, т.е. если значение сигнала, поступающего с блока Генератор синусоиды, будет меньше или равно нулю, то на выход будет поступать значение с третьего входного порта (-2). - Добавьте в модель блок Заглушка. Соедините выход блока Переключатель со входом блока Заглушка.
- Залогируйте выходной сигнал модели и подготовьте окно графиков.
- Запустите модель.
Решение
График выходного сигнала:
✏️Задание 8
Для закрепления навыков модифицируйте модель из Задания 7. Смоделируйте следующее условие:
- если значение входящей синусоиды больше нуля, то на выходе должно выдаваться значение этой же синусоиды;
- в противном случае должно выдаваться значение
-0.5.
Подсказка
- Удалите из модели блок Константа со значением
4. - Создайте ответвление от линии, соединяющей блок Генератор синусоиды с блоком Переключатель, и подключите его к верхнему входному порту блока Переключатель.
- В окне настроек оставшегося блока Константа измените значение константы на
-0.5. - Запустите модель.
Решение
Результаты моделирования: